Stepping motor driver

ABSTRACT

The stepping motor driver comprises an inverter for feeding stepped currents to windings of a stepping motor, a position detector for obtaining a detected angle of a rotor of the stepping motor and a current controller for controlling the inverter. In a d-q rotational coordinate system in which the d-axis is in the direction of the magnetic flux of the rotor and the q-axis is in the direction perpendicular to the d-axis, an excitation angle for a winding is determined from a d-axis component and a q-axis component of a command current to the winding, a lead angle control signal is computed from the excitation angle, and a phase of an applied voltage to the stepping motor is controlled using the lead angle control signal.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention concerns a stepping motor driver forcontrolling rotational angular position and rotational speed of a rotorof a stepping motor.

[0003] 2. Description of the Prior Art

[0004] With the high functionalization of systems equipped with motors,motors of which noise and vibration are low, and of which rotationalspeed ranges are wide, are being demanded. A stepping motor is caused tomake a stepping rotation by changing instantaneously excitation currentsfor windings at each time when a set of external command pulses isgiven. Accordingly, it is necessary to reduce noise and vibrationgenerated when the excitation currents are changed and to prevent themotor from stepping-out.

[0005] To reduce noise and vibration, and to prevent the motor fromstepping-out, a micro-step drive using an inverter of a PWM (pulse widthmodulation) type to smoothly change excitation currents for windings isbeing generally adopted.

[0006] The micro-step drive is realized by feeding motor windings withstepped currents, obtained by transforming currents of sinusoidal waveforms, with phase differences according to the number of phases of themotor. Accordingly, it is necessary to control a plurality of phasecurrents according to the number of the phases of the motor. So, theconstruction of the driver becomes complicated with the increase of thenumber of phases of the motor.

[0007] To simplify the construction of the driver, it is conceived toapply an inverter controller that is generally used for controlling anAC servomotor, in which a coordinate transformation into a rotationalcoordinate system is adopted, to the stepping motor driver. The invertercontroller technique is suitable for realizing a micro step drive with ahigh resolution, since the rotation angle can be controlled directly.

[0008] Examples of the application of the rotational coordinate controltechnique for stepping motors are still limited. Among these examples,there is a stepping motor driver for preventing the motor fromstepping-out and for realizing a micro step drive, disclosed inUnexamined Japanese Patent Publication No.6-225595 (herein afterreferred to as the prior art). In this driver, phase currents in a fixedcoordinate system are transformed into phase currents in a d-qrotational coordinate system, in which the d-axis is in the direction ofthe magnetic flux of the rotor and the q-axis is in the directionperpendicular to the d-axis, and the control of the currents applied tothe motor are dealt with in the rotational coordinate system.

[0009] In the stepping motor driver disclosed in the prior art, assumingthat the stepping motor is similar to a synchronous permanent magnetmotor, angular position of the rotor is detected by an encoder connectedto the stepping motor, and closed loop control systems for currentcontrol, for velocity control and for position control are composed.Detected signals representing the angular position of the rotor aretransformed into signals in the d-q rotational coordinate system and theposition control is conducted in the d-q rotational coordinate system.To simplify the construction of the control system, non-interferenceelements of the d-axis and the q-axis components are omitted, and thecurrent commands are given directly on the d-axis and on the q-axis. Inthis driver, since the angular position of the rotor of the motor iscontrolled so as to make the detected position signal coincide with thecommand position, a micro step drive of the stepping motor in accordancewith the resolution of the command position and that of the positiondetection device is possible.

[0010] In the stepping motor driver of the prior art as mentioned above,the direction of the current fed to the motor is made to coincide withthe direction of the q-axis and the current is controlled according tothe velocity deviation. Accordingly, a position detection device, aposition controller and a velocity controller are required to beprovided to effectuate the position control. Thus, there is a problemthat the construction of the stepping motor driver is complicated, andconsequently, is expensive.

[0011] Also in the stepping motor driver of the prior art, there is aproblem that a vibration of the stepping motor occurs when it isstopped.

[0012] Further, in the stepping motor driver of the prior art, it isnecessary to make the applied voltage to the motor always greater than,or equal to, the sum of the induced voltage and the internal voltagedrop of the motor, in order to control the current in the q-axisdirection according to the variation in the load. Since a stepping motoris a multipolar motor having some fifty pairs of magnetic poles ingeneral, the voltage drop due to the inductance component is large.Accordingly, there is a problem that the controllable region of thestepping motor is limited and the stepping motor can not be controlledto a high rotational speed region.

SUMMARY OF THE INVENTION

[0013] It is an object of the present invention to solve the abovementioned problems and to provide a stepping motor driver, for apolyphase stepping motor, that has a simple structure, that is low inprice, of which noise and vibration are low, by which it is possible tostably control a stepping motor to a high rotational speed region, andthat has a micro step drive function with high degree of accuracy.

[0014] According to a preferred embodiment of the present invention toachieve the above object, there is provided a stepping motor drivercomprising:

[0015] an inverter for feeding stepped currents to windings of astepping motor;

[0016] a position detection means for obtaining a detected angle of arotor of the stepping motor; and

[0017] a current control means for controlling the inverter,

[0018] wherein:

[0019] in a d-q rotational coordinate system in which the d-axis is inthe direction of the magnetic flux of the rotor of the stepping motorand the q-axis is in the direction perpendicular to the d-axis, anexcitation angle for a winding is determined from a d-axis component anda q-axis component of a command current to the winding;

[0020] a lead angle control signal is computed from the excitationangle; and

[0021] a phase of an applied voltage to the stepping motor is controlledusing the lead angle control signal.

[0022] The stepping motor driver according to the present inventiondrives a stepping motor in the condition conformable to the voltageequation for a synchronous motor even in a high speed region.Accordingly, a stable driving of the stepping motor, matching the loadand being prevented from a stepping-out, can be maintained.

[0023] Also, since command signals given from the outside are used inthe control computation, a stable operation of a stepping motor can berealized.

[0024] Further, the stepping motor driver according to the presentinvention has a simple structure, and accordingly, is low in price. Itcan reduce noise and vibration of the motor, and can be used as astepping motor driver for a polyphase stepping motor.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The present invention will become more fully understood from thedetailed description given hereinbelow and the accompanying drawingswhich are given by way of illustration only, and thus are not limitativeof the present invention, and wherein:

[0026]FIG. 1 is a block diagram of a stepping motor driver according toan embodiment of the present invention.

[0027]FIG. 2 is a block diagram of a lead angle computing element of thestepping motor driver according to a first embodiment of the presentinvention.

[0028]FIG. 3 is a block diagram of a lead angle computing element of thestepping motor driver according to a second embodiment of the presentinvention.

[0029]FIG. 4 is a block diagram of a lead angle computing element of thestepping motor driver according to a third embodiment of the presentinvention.

[0030]FIG. 5 is a block diagram of a lead angle computing element of thestepping motor driver according to a fourth embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

[0031] First, the principle to be applied to the stepping motor driveraccording to the present invention is explained.

[0032] An excitation angle γ for a stepping motor that is a kind of asynchronous motor can be determined by an equation (1) as followsderived from the voltage equation.

γ=tan⁻¹(v _(q) */v _(d)*)   (1)

[0033] where v_(d)* and v_(q)* are a d-axis component and a q-axiscomponent of a command voltage respectively, in a d-q rotationalcoordinate system in which the d-axis is in the direction of themagnetic flux of a rotor of a motor and the q-axis is in the directionperpendicular to the d-axis.

[0034] Expressing a voltage applied to the motor by V, the sourcevoltage by V₀, the d-axis component and the q-axis component of thevoltage applied to the motor by v_(d) and v_(q) respectively, thecurrent in the motor winding by I₀, the d-axis component and the q-axiscomponent of the current in the motor winding by i_(d) and i_(q)respectively, relations expressed by equations (2) and (3) as followsare obtained.

V ₀ ≧V=(v _(d) ² +v _(q) ²)^(1/2)   (2)

I ₀=(i _(d) ² +i _(q) ²)^(1/2)   (3)

[0035] The voltage equation of the motor concerning the d-axis componentv_(d) and the q-axis component v_(q) can be expressed by an equation (4)as follows. $\begin{matrix}{\begin{bmatrix}v_{d} \\v_{q}\end{bmatrix} = {{\begin{bmatrix}{R + {pL}_{d}} & {{- \omega_{re}}L_{q}} \\{\omega_{re}L_{d}} & {R + {pL}_{q}}\end{bmatrix}\begin{bmatrix}i_{d} \\i_{q}\end{bmatrix}} + {\omega_{re}{\Phi_{m}\begin{bmatrix}0 \\1\end{bmatrix}}}}} & (4)\end{matrix}$

[0036] where p is a differential operator, L_(d) is the d-axis componentof the inductance of the winding, L_(q) is the q-axis component of theinductance of the winding, ω_(re) is the fundamental frequency of thecurrent in the winding of the motor, and Φ_(m) is the magnetic flux ofthe motor.

[0037] Here, assuming pL_(d)=pL_(q)=0, and R<<ω_(re)L in a steadycondition at a high rotational speed, equations (5) and (6) as followsare obtained from the equation (4).

v _(d)=−ω_(re) L _(q) i _(q)   (5)

v _(q)=ω_(re) L _(d) i _(d)+ω_(re)Φ_(m)   (6)

[0038] Using v_(d) and v_(q) in the equations (5) and (6) for v_(d) andv_(q) in the equations (2) and (3), an equation (7) as follows isobtained.

V ₀ ² ≧V ²=(−ω_(re) L _(q) i _(q))²+(ω_(re) L _(d) i _(d)+ω_(re)Φ_(m))²  (7)

[0039] In the equation (7), it is apparent that the maximum voltageapplied to the motor equals the source voltage V₀. Additionally,ω_(re)Φ_(m) equals the speed electromotive force E_(emf).

[0040] The d-axis component i_(d) of the current in the winding isderived from the equation (7).

i _(d)=(1/L _(d)){±[(V/ω _(re))²−(L _(q) i _(q))²]^(1/2)−Φ_(m)}  (8)

[0041] In the equation (8), in the case in which the voltage is appliedto the motor through a PWM inverter for example, the voltage V appliedto the motor that is equal to the sum of the speed electromotive forceof the motor and the voltage drop can be obtained by controlling theduty ratio of the PWM inverter. However, when the fundamental frequencyω_(re) of the motor is raised to a certain level, the voltage enough tocontrol the current can not be maintained, since the speed electromotiveforce E_(emf)=ω_(re)Φ_(m) would become larger than the source voltageV₀, but the voltage V applied to the motor remains in the value equal tothe source voltage V₀ that is constant. That is, the control region ofthe motor is classified into two regions, namely, an applied voltagevariable region and an applied voltage invariable region. In the appliedvoltage invariable region, the d-axis component i_(d) of the current inthe motor winding can be expressed by an equation (9) as follows.

i _(d)=(1/L _(d)){±[(V ₀/ω_(re))²−(L _(q) i _(q))²]^(1/2)−_(m)}  (9)

[0042] Now, a torque T produced by the motor is proportional to theq-axis component i_(q) of the current in the motor winding and can beexpressed by an equation (10) as follows.

T=k_(t)i_(q)   (10)

[0043] where k_(t) is a proportion constant (torque constant).

[0044] In conducting a position control of a rotor of a stepping motor,it is necessary to increase the torque T produced in the motor, when aposition deviation that is the difference between a command angleθ_(re)* for the rotor and a detected angle θ_(re) of the rotor, both inthe d-q rotational coordinate system, becomes large. Accordingly, aq-axis component i_(q)* of a command current should be controlled to bea value proportional to the position deviation, and can be expressed byan equation (11) as follows.

i _(q) *=k(θ_(re)*−θ_(re))   (11)

[0045] where k is a proportional coefficient.

[0046] In general, a stepping motor is given a command angle from theoutside with a train of pulses, and the frequency component of thecommand angle corresponds to a command velocity. Accordingly, beinggiven the command angle θ_(re)* the command velocity ω_(re)* can betreated as a known value. Thus, the d-axis component i_(d)* of thecommand current can be given by an equation (12) as follows obtained byreplacing the fundamental frequency ω_(re) of the motor, the q-axiscomponent i of the current in the motor winding and the voltage Vapplied to the motor in the equation (8) respectively by the commandvelocity θ_(re)*, the q-axis component i_(q)* of the command current andan amplitude V* of the command voltage.

i _(d)*=(1/L _(d)){[(V*/ω_(re)*)²−(L _(q) i _(q)*)²]^(1/2)−Φ_(m)}  (12)

[0047] Using these results, the d-axis component v_(d)* and the q-axiscomponent v_(q)* of the command voltage can be obtained respectively byequations (13) and (14) as follows corresponding to the equations (5)and (6). Accordingly, the proper excitation angle γ can be determined bythe equation (1).

v _(d)*=−ω_(re) *L _(q) i _(q)*   (13)

v _(q)*=ω_(re) *L _(d) i _(d)*+ω_(re)*Φ_(m)   (14)

[0048] Additionally, it is apparent that the excitation angle γ is inthe region between 0 and 90 degrees in electrical angle when the d-axiscomponent i_(d)* of the command current is positive, and that theexcitation angle γ is in the region between 90 and 180 degrees inelectrical angle when the d-axis component i_(d)* of the command currentis negative, taking the d-axis as the reference axis.

[0049] Further additionally, the value obtained by adding the detectedangle θ_(re) to the excitation angle γ is used as a lead angle controlsignal λ to be used in a coordinate transformation from the rotationalcoordinate system into the fixed coordinate system.

[0050] Next, an error induced by such as assumption and omission in theprocess of deriving the q-axis component i_(q)* of the command currentis compensated. Such error can be reduced by correcting the proportionconstant k in the equation (11) by, for example, a proportional, anintegral and a differential compensation. Thus, the corrected q-axiscomponent i_(q)* of the command current can be determined by an equation(15) as follows.

i _(q) *=[k _(pq)+1/(sk _(iq))+sk _(dq)](θ_(re)*−θ_(re))   (15)

[0051] where, s is a Laplace operator, k_(pq) is a proportionalcoefficient, k_(iq) is an integral coefficient and k_(dq) is adifferential coefficient.

[0052] Further, an error induced by such as assumption and omission inthe process of deriving the d-axis component i_(d)* of the commandcurrent is compensated. If there is a computational error, thedifference between the amplitude V_(dq) of the applied voltage, obtainedby the square root of the sum of the square of the d-axis componentv_(d)* of the command voltage and the square of the q-axis componentv_(q)* of the command voltage, and the amplitude V* of the commandvoltage set as an input value appears. Hereinafter, the differencebetween the amplitude V_(dq) of the applied voltage and the amplitude V*of the command voltage is referred to as the voltage error. Accordingly,the error in the d-axis component i_(d)* of the command current can bereduced using an equation (16) as follows obtained by subtracting theamplified voltage error from the equation (12). The voltage error can beamplified by an error compensator comprising a proportional compensatorand an integral compensator, for example.

i _(d)*=(1/L _(d)){[(V*/ω _(re)*)²−(L _(q) i _(q)*)²]^(1/2)−Φ_(m) }−[k_(pq)+1/(sk _(iv))](V*−V _(dq))   (16)

[0053] where k_(pv) is a proportional coefficient and k_(iv) is anintegral coefficient. Thus, it is possible for the stepping motor driveraccording to the present invention to obtain the drive condition for themotor matching the load, in the stepping motor driving region where theapplied voltage becomes invariable, by controlling the excitation angleγ with the d-axis component v_(d)* and the q-axis component v_(q)* ofthe command voltage.

[0054] The d-axis component v_(d)* and the q-axis component v_(q)* ofthe command voltage can be produced using the command angle θ_(re)*, thedetected angle θ_(re)*, the command velocity ω_(re)* and the amplitudeV* of the command voltage. Accordingly, the excitation angle γ can becontrolled by the command angle θ_(re)*, the detected angle θ_(re), thecommand velocity ω_(re)* and the amplitude V* of the command voltage.These signals, except the detected angle θ_(re), are signals given fromthe command side. Thus, the stepping motor can be made to operatestably.

[0055] Also, the error in the q-axis component i_(q)* of the commandcurrent induced in the process of deriving the q-axis component i_(q)*can be reduced by determining it using the equation (15) that isobtained by correcting the proportion constant k concerning the positiondeviation by the proportional, the integral and the differentialcompensation.

[0056] Further, the error in the d-axis component i_(d)* of the commandcurrent induced in the process of deriving the d-axis component i_(d)*can also be reduced by correcting it by setting the amplitude V* of thecommand voltage, obtaining the difference between the amplitude V* ofthe command voltage and the amplitude V_(dq) of the applied voltageobtained from the d-axis component v_(d)* and the q-axis componentv_(q)* of the command voltage, and subtracting the amplified differencefrom the d-axis component i_(d)* of the command current that wasdetermined before.

[0057] Now, embodiments of the stepping motor driver according to thepresent invention will be explained referring to the attached drawings.

[0058]FIG. 1 is a block diagram of a stepping motor driver according toan embodiment of the present invention.

[0059] The stepping motor driver comprises:

[0060] a PWM inverter 30 that is an inverter for feeding steppedcurrents to windings of a stepping motor 60;

[0061] a position detector 70 that is a position detection meansconnected directly to the stepping motor 60 for obtaining a detectedangle θ_(re) of a rotor (not illustrated in the drawing) in a d-qrotational coordinate system;

[0062] a lead angle computing element 50 that is a lead angle computingmeans, that receives the detected angle θ_(re), an amplitude V* of acommand voltage applied from the outside to a command voltage inputterminal 12 and a command angle θ_(re)* applied to a command angle inputterminal 13, each in a d-q rotational coordinate system, and thatoutputs a lead angle control signal λ obtained from a d-axis componenti_(d)* and a q-axis component i_(q)* of a command current;

[0063] a command current value transformer 10 that is a command currentvalue transformation means, that receives the lead angle control signalλ and an amplitude I_(p)* of a command current applied from the outsideto an amplitude of command current input terminal 11, that carries out acoordinate transformation according to an equation (17) as follows, andthat outputs command current values i_(α)* and i_(β)* in a fixedcoordinate system; $\begin{matrix}{\begin{bmatrix}i_{\alpha}^{*} \\i_{\beta}^{*}\end{bmatrix} = {{\begin{bmatrix}{\cos \left( {\theta_{re} + \gamma} \right)} \\{\sin \left( {\theta_{re} + \gamma} \right)}\end{bmatrix} \cdot I_{p}^{*}} = {\begin{bmatrix}{\cos \quad \lambda} \\{\sin \quad \lambda}\end{bmatrix} \cdot I_{p}^{*}}}} & (17)\end{matrix}$

[0064] a current detector 41 that is a current detection means, and thatdetects a motor current value i_(αf) of a phase;

[0065] another current detector 42 that is another current detectionmeans, and that detects another motor current value is f of anotherphase; and,

[0066] a current controller 20 that is a current control means, thatreceives the difference between the command current value i_(α)* and themotor current value i_(αf), and the difference between the commandcurrent value i_(β)* and the motor current value i_(αf) that outputscurrent control signals to make the motor current value i_(αf) and themotor current value i_(βf) respectively coincide with the commandcurrent value i_(α)* and the command current value i_(β)*, and thatcontrols the PWM inverter 30 by the current control signals.

[0067] Thus, the PWM inverter 30 receives the current control signalfrom the current controller 20 and feeds proper applied voltage to thestepping motor 60.

[0068]FIG. 2 is a block diagram of a lead angle computing element 50 ofthe stepping motor driver according to a first embodiment of the presentinvention. The lead angle computing element 50 comprises:

[0069] a compensator 51 that is a compensation means, that receives aposition deviation that is the difference between the command angleθ_(re)* and the detected angle θ_(re), that amplifies the positiondeviation by an amplification means comprising a differentiatingelement, and that outputs the q-axis component i_(q)* of the commandcurrent;

[0070] a velocity detector 53 that is a velocity detection means, thatreceives the command angle θ_(re)*, and that outputs the commandvelocity ω_(re)*;

[0071] a command current d-axis component computer 54 that is a commandcurrent d-axis component computer means, that receives the q-axiscomponent i_(q)* of the command current that is the q-axis component ofthe command value of the current fed to the winding, the commandvelocity ω_(re)* and the amplitude V* of the command voltage, and thatoutputs the d-axis component i_(d)* of the command current that is thed-axis component of the current fed to the winding;

[0072] a command voltage value computer 52 that is a command voltagevalue computer means, that receives the d-axis component i_(d)* and theq-axis component i_(q)* of the command current, and that outputs thed-axis component v_(d)* and the q-axis component v_(q)* of the commandvoltage; and

[0073] an excitation angle computer 55 that is an excitation anglecomputer means, that receives the d-axis component v_(d)* and the q-axiscomponent v_(q)* of the command voltage, and that outputs the excitationangle γ.

[0074] The detected angle θ_(re) is added to the excitation angle γ toobtain the lead angle control signal λ. Phase of the applied voltage fedto the stepping motor is controlled using this lead angle control signalλ.

[0075]FIG. 3 is a block diagram of a lead angle computing element 50 ofthe stepping motor driver according to a second embodiment of thepresent invention.

[0076] In this embodiment, the accuracy of the d-axis component i_(d)*of the command current that is the output of the command current d-axiscomponent computer 54 in the first embodiment is improved using theequation (16). For this purpose, an applied voltage amplitude computer56 that is an applied voltage amplitude computer means and an errorcompensator 57 that is an error compensation means are added to the leadangle computing element 50 in the first embodiment.

[0077] The applied voltage amplitude computer 56 computes[(v_(d)*)²+(v_(q)*)²]^(1/2), that is, the amplitude V_(dq) of theapplied voltage in the equation (16), that is the square root of the sumof the squares of the d-axis component v_(d)* of the command voltage andthe q-axis component v_(q)* of the command voltage that are outputs ofthe command voltage value computer 52.

[0078] The error compensator 57 amplifies the difference between theamplitude V* of the command voltage and the amplitude V_(dq) of theapplied voltage, which corresponds to the second term of the equation(16).

[0079] The command current d-axis component computer 54 receives theq-axis component i_(q)* of the command current, the command velocityω_(re)* the amplitude V* of the command voltage and the output of theerror compensator 57 and outputs the corrected d-axis component i_(d)*of the command current corresponding to i_(d)* in the equation (16).

[0080]FIG. 4 is a block diagram of a lead angle computing element 50 ofthe stepping motor driver according to a third embodiment of the presentinvention. In this embodiment, a value proportional to the velocity ofthe rotor is added to the excitation angle γ to compensate for aninfluence of a time spent in sampled data control, for example. For thispurpose, a multiplier 59 that is a multiplier means is added to the leadangle computing element 50 in the second embodiment. The multiplier 59multiplies the command velocity ω_(re)* that is the output of thevelocity detector 53 by a coefficient. The output of the multiplier 59is added to the excitation angle γ to obtain the corrected lead anglecontrol signal λ compensated for the influence of the time spent.

[0081]FIG. 5 is a block diagram of a lead angle computing element 50 ofthe stepping motor driver according to a fourth embodiment of thepresent invention.

[0082] In this embodiment, similar to the third embodiment, a valueproportional to the velocity of the rotor is added to the excitationangle γ to compensate for an influence of a time spent in sampled datacontrol, for example. In this embodiment, however, the valueproportional to the velocity to be added to the excitation angle γ isobtained from the detected angle θ_(re).

[0083] For this purpose, a velocity detector 58 that is a velocitydetection means and a multiplier 59 that is a multiplier means are addedto the lead angle computing element 50 in the second embodiment.

[0084] The velocity detector 58 differentiates the detected angle θ_(re)to obtain a detected velocity.

[0085] The multiplier 59 multiplies the detected velocity that is theoutput of the velocity detector 58 by a coefficient. The output of themultiplier 59 is added to the excitation angle γ to obtain the correctedlead angle control signal λ compensated for the influence of the timespent.

[0086] In the embodiments explained above, the amplitude I_(p)* of thecommand current is transformed into the command current values i_(α)*and i_(β)* in the α-β fixed coordinate system, then these values arecompared respectively with the detected current values i_(αf) and i_(βf)in the α-β fixed coordinate system to carry out the control.Alternatively, the detected current value i_(αf) and i_(βf) may betransformed into values in the d-q rotational coordinate system to carryout the control in the rotational coordinate system.

[0087] Also in the embodiments explained above, the explanation is madefor a two-phase stepping motor by way of example, however, the steppingmotor driver according to the present invention is also applicable to apolyphase stepping motor.

[0088] The stepping motor driver according to the present inventiondrives a stepping motor in the condition conformable to the voltageequation for a synchronous motor even in a high speed region.Accordingly, a stable driving of the stepping motor, matching the loadand being prevented from a stepping-out, can be maintained.

[0089] Also, since command signals given from the outside are used inthe control computation, a stable operation of a stepping motor can berealized.

[0090] Further, by providing the means for compensating for thecomputation errors, a micro step drive of a stepping motor with highdegree of accuracy can be realized.

[0091] Further, the stepping motor driver according to the presentinvention has a simple structure, accordingly, is low in price, canreduce noise and vibration of the motor, and can be used as a steppingmotor driver for a polyphase stepping motor.

What is claimed is:
 1. a stepping motor driver comprising: an inverterfor feeding stepped currents to windings of a stepping motor; a positiondetection means for obtaining a detected angle of a rotor of saidstepping motor; and a current control means for controlling saidinverter, wherein: in a d-q rotational coordinate system in which thed-axis is in the direction of the magnetic flux of said rotor of saidstepping motor and the q-axis is in the direction perpendicular to saidd-axis, an excitation angle for a winding is determined from a d-axiscomponent and a q-axis component of a command current to said winding; alead angle control signal is computed from said excitation angle; and aphase of an applied voltage to said stepping motor is controlled usingsaid lead angle control signal.
 2. The stepping motor driver accordingto claim 1, wherein said d-axis component and said q-axis component ofsaid command current to said winding are determined using a commandangle given from the outside, said detected angle detected by saidposition detection means, a command velocity obtained by differentiatingsaid command angle and an amplitude of an command voltage.
 3. Thestepping motor driver according to claim 2, wherein said q-axiscomponent of said command current to said winding is a value obtained byamplifying a position deviation that is the difference between saidcommand angle and said detected angle, by a compensation meanscomprising a differentiating element.
 4. The stepping motor driveraccording to claim 2, wherein said d-axis component of said commandcurrent to said winding is compensated, by an error compensation means,using a value obtained by amplifying the difference between saidamplitude of said command voltage and an applied voltage amplitudecomposed of a d-axis component and a q-axis component of said commandvoltage obtained respectively from said d-axis component and said q-axiscomponent of said command current to said winding.
 5. The stepping motordriver according to claim 3, wherein said d-axis component of saidcommand current to said winding is compensated, by an error compensationmeans, using a value obtained by amplifying the difference between saidamplitude of said command voltage and an applied voltage amplitudecomposed of a d-axis component and a q-axis component of said commandvoltage obtained respectively from said d-axis component and said q-axiscomponent of said command current to said winding.
 6. The stepping motordriver according to claim 2, wherein a value proportional to velocity ofsaid rotor is added to said excitation angle.
 7. The stepping motordriver according to claim 3, wherein a value proportional to velocity ofsaid rotor is added to said excitation angle.
 8. The stepping motordriver according to claim 4, wherein a value proportional to velocity ofsaid rotor is added to said excitation angle.
 9. The stepping motordriver according to claim 5, wherein a value proportional to velocity ofsaid rotor is added to said excitation angle.
 10. The stepping motordriver according to claim 6, wherein said command velocity is used assaid velocity of said rotor.
 11. The stepping motor driver according toclaim 7, wherein said command velocity is used as said velocity of saidrotor.
 12. The stepping motor driver according to claim 8, wherein saidcommand velocity is used as said velocity of said rotor.
 13. Thestepping motor driver according to claim 9, wherein said commandvelocity is used as said velocity of said rotor.
 14. The stepping motordriver according to claim 6, wherein a detected velocity is used as saidvelocity of said rotor.
 15. The stepping motor driver according to claim7, wherein a detected velocity is used as said velocity of said rotor.16. The stepping motor driver according to claim 8, wherein a detectedvelocity is used as said velocity of said rotor.
 17. The stepping motordriver according to claim 9, wherein a detected velocity is used as saidvelocity of said rotor.